package com.hdu.mockService.entity;

import com.hdu.mockService.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

import static com.hdu.mockService.enums.CharType.*;

@Data
public class Student {
    @RandomString(minLength = 5, maxLength = 6, charTypes = {UPPER_CASE, NUMBER, LOWER_CASE})
    private String name;
    @RandomLong(min = 1, max = 3)
    private long id;
    @RandomInt(min = 1, max = 5)
    private int age;
    @RandomDouble(min = 1, max = 5)
    private double score;
    @RandomTime(minTime = "2023/01/01 00:00:00", maxTime = "2023/05/06 00:00:00", timePattern = "yyyy/MM/dd HH:mm:ss")
    private LocalDateTime birthDay;
    @RandomList(fixedSize = 1, strFixedLen = 10, charTypes = {UPPER_CASE, NUMBER, LOWER_CASE})
    private List<String> strList;
    @RandomList(fixedSize = 1, intMin = 1, intMax = 5)
    private List<Integer> intList;
    @RandomList(fixedSize = 1, longMin = 2, longMax = 20)
    private List<Long> longList;
    @RandomList(fixedSize = 1, doubleMin = 10, doubleMax = 30)
    private List<Double> doubleList;
    @RandomBoolean
    private boolean isMale;
    @RandomEntity
    private School school;
}
